1. Field of the Invention
The present invention relates to a data processing apparatus and method in a wireless communication system and, more particularly, to an error processing apparatus and method for processing data unit associated with, for example, AMR (Adaptive Multi Rate) codec.
2. Description of the Related Art
A universal mobile telecommunication system (UMTS) is a European-type, third generation IMT-2000 mobile communication system that has evolved from a European standard known as Global System for Mobile communications (GSM). UMTS is intended to provide an improved mobile communication service based upon a GSM core network and wideband code division multiple access (W-CDMA) wireless connection technology.
In December 1998, a Third Generation Partnership Project (3GPP) was formed by the ETSI of Europe, the ARIB/TTC of Japan, the T1 of the United States, and the TTA of Korea. The 3GPP creates detailed specifications of UMTS technology. In order to achieve rapid and efficient technical development of the UMTS, five technical specification groups (TSG) have been created within the 3GPP for standardizing the UMTS by considering the independent nature of the network elements and their operations.
Each TSG develops, approves, and manages the standard specification within a related region. Among these groups, the radio access network (RAN) group (TSG-RAN) develops the standards for the functions, requirements, and interface of the UMTS terrestrial radio access network (UTRAN 100), which is a new radio access network for supporting W-CDMA access technology in the UMTS.
FIG. 1 illustrates an exemplary basic structure of a general UMTS network. As shown in FIG. 1, the UMTS is roughly divided into a terminal or user equipment (UE) 50, a UTRAN 100, and a core network (CN) 200.
The UTRAN 100 includes one or more radio network sub-systems (RNS) 110. Each RNS 110 includes a radio network controller (RNC) 111 and a plurality of Node-Bs 112 managed by the RNC 111. The RNC 111 handles the assignment and management of radio resources and operates as an access point with respect to the core network 200.
The Node-Bs 112 receive information sent by the physical layer of the terminal 50 through an uplink, and transmit data to the terminal 50 through a downlink. The Node-Bs 112 operate as access points of the UTRAN 100 for the terminal 50.
The services provided to a specific terminal 50 are roughly divided into the circuit switched (CS) services and the packet switched (PS) services. For example, a general voice conversation service is a circuit switched service, while a Web browsing service via an Internet connection is classified as a packet switched (PS) service.
For supporting circuit switched services, the RNCs 111 are connected to the MSC 210 of the core network 200, and the MSC 210 is connected to the GMSC 220 that manages the connection with other networks.
For supporting packet switched services, the RNCs 111 are connected to the SGSN 230 and the GGSN 240 of the core network 200. The SGSN 230 supports the packet communications with the RNCs 111 and the GGSN 240 manages the connection with other packet switched networks, such as the Internet.
Various types of interfaces exist to allow the network components to transmit and receive information to and from each other for mutual communication. An interface between the RNC 111 and the core network 200 is defined as an lu interface. In particular, the lu interface between the RNCs 111 and the core network 200 for packet switched systems is defined as “lu-PS,” and the lu interface between the RNCs 111 and the core network 200 for circuit switched systems is defined as “lu-CS.”
FIG. 2 illustrates a structure of a radio interface protocol between the terminal 50 and the UTRAN 100 according to the 3GPP radio access network standards. As shown in FIG. 2, the radio interface protocol has horizontal layers comprising a physical layer, a data link layer, and a network layer, and has vertical planes comprising a user plane (U-plane) for transmitting user data and a control plane (C-plane) for transmitting control information.
The user plane is a region that handles traffic information with the user, such as voice or Internet protocol (IP) packets. The control plane is a region that handles control information for an interface with a network, maintenance and management of a call, and the like.
The protocol layers in FIG. 2 can be divided into a first layer (L1), a second layer (L2), and a third layer (L3) based on the three lower layers of an open system interconnection (OSI) standard model.
The first layer (L1), namely, the physical layer, provides an information transfer service to an upper layer by using various radio transmission techniques. The physical layer is connected to an upper layer called a medium access control (MAC) layer, via a transport channel. The MAC layer and the physical layer exchange data via the transport channel.
The second layer (L2) includes a MAC layer, a radio link control (RLC) layer, a broadcast/multicast control (BMC) layer, and a packet data convergence protocol (PDCP) layer.
The MAC layer handles mapping between logical channels and transport channels and provides allocation of the MAC parameters for allocation and re-allocation of radio resources. The MAC layer is connected to an upper layer called the radio link control (RLC) layer, via a logical channel.
Various logical channels are provided according to the type of information transmitted. In general, a control channel is used to transmit information of the control plane and a traffic channel is used to transmit information of the user plane.
A logical channel may be a common channel or a dedicated channel depending on whether the logical channel is shared. Logical channels include a dedicated traffic channel (DTCH), a dedicated control channel (DCCH), a common traffic channel (CTCH), a common control channel (CCCH), a broadcast control channel (BCCH), and a paging control channel (PCCH). The BCCH provides information including information utilized by a terminal 50 to access a system. The PCCH is used by the UTRAN 100 to access a terminal 50.
The MAC layer is connected to the physical layer by transport channels and can be divided into a MAC-b sub-layer, a MAC-d sub-layer, a MAC-c/sh sub-layer, and a MAC-hs sub-layer according to the type of transport channel being managed. The MAC-b sub-layer manages a BCH (Broadcast Channel), which is a transport channel handling the broadcasting of system information. The MAC-c/sh sub-layer manages a common transport channel, such as a forward access channel (FACH) or a downlink shared channel (DSCH), which is shared by a plurality of terminals. The MAC-d sub-layer manages a dedicated channel (DCH), which is a dedicated transport channel for a specific terminal 50.
The RLC layer supports reliable data transmissions and performs segmentation and concatenation on a plurality of RLC service data units (RLC SDUs) delivered from an upper layer. When the RLC layer receives the RLC SDUs from the upper layer, the RLC layer adjusts the size of each RLC SDU in an appropriate manner based upon processing capacity and then creates data units by adding header information thereto. The data units, called protocol data units (PDUs), are transferred to the MAC layer via a logical channel. The RLC layer includes a RLC buffer for storing the RLC SDUs and/or the RLC PDUs.
Each RLC PDU transferred to the MAC layer is called a MAC SDU. The terms “MAC SDU” and “RLC PDU” are synonymous. The MAC layer may generate a MAC PDU by adding a header to the MAC SDU. The MAC layer transmits the MAC PDU to the physical layer through a suitable transport channel.
FIG. 3 illustrates a format of the MAC PDU. The MAC layer identifies the UEs 50 and the logical channels. There are two reasons for identification. First, the UEs 50 must be distinguished from one another since many UEs share a common transport channel. Second, the logical channels must be distinguished from one another because logical channel multiplexing is performed. With regard to the uplink, the receiving end (i.e., the UTRAN 100) cannot determine which UE 50 sent the data units nor which logical channel was used to send the data units without any identification.
The MAC layer adds one or more identification parameters to form a header of the MAC PDU; a TCTF (target channel type field), a UE-ID type, a UE-ID, and/or a C/T (Control/Traffic) field. In the related art, a MAC header is added to each MAC SDU (Service Data Unit) within a MAC PDU such that MAC SDUs that are transmitted during the same TTI (transmission time interval) have different MAC headers added thereto.
Identification of the UE 50 (i.e., a UE-ID field) is necessary when a dedicated logical channel (such as DCCH or DTCH) is mapped to a common transport channel (such as the RACH, FACH, CPCH, DSCH or USCH). To identify the UE 50, the MAC layer may add a radio network temporary identity (RNTI), which is one type of UE identification, to the UE-ID field of the header. There are three types of RNTIs; a U-RNTI (UTRAN RNTI), a C-RNTI (Cell RNTI), and a DSCH-RNTI. Thus, a UE-ID type field that indicates the type of RNTI added is also transmitted as part of the header.
There are two types of identifications for a logical channel; a TCTF and a C/T field. The TCTF is required for the transport channel when a dedicated logical channel (such as a DCCH and DTCH) is mapped together with other logical channels.
Referring to FDD (Frequency Division Duplex), the TCTF for the FACH identifies the mapped logical channel as a BCCH, a CCCH, or a CTCH, or as a dedicated logical channel (DCCH or DTCH), while the TCTF for the RACH identifies the mapped logical channel as a CCCH or a dedicated logical channel. However, the TCTF does not identify the particular type of dedicated logical channel that was used.
The identification of a dedicated logical channel is provided by the C/T field. The C/T field is required because, unlike other logical channels, several dedicated logical channels can be mapped to one transport channel. Each of the dedicated logical channels mapped to one transport channel has a logical channel identifier, which is used as the C/T field value. However, if only one dedicated logical channel is mapped to one transport channel, the C/T field is not necessary.
Table 1 below shows the different identifiers of a MAC header that are used according to the mapping relationship between logical channels and transport channels for FDD. In Table 1, a C/T field exists when several dedicated logical channels (DCCH or DTCH) are mapped. Also, “N” indicates that there is no header, “-” indicates that there is no mapping relationship, and “UE-ID” indicates that both a UE-ID field and a UE-ID type field exist. A UE-ID field always exists together with a UE-ID type field.
TABLE 1DCHRACHFACHDSCHCPCHBCHPCHDCCH orC/TTCTFTCTFUE-IDUE-ID——DTCHUE-IDUE-IDC/TC/TC/TC/TBCCH——TCTF——N—PCCH——————NCCCH—TCTFTCTF————CTCH——TCTF————
The RLC layer will be explained in more detail as follows.
A basic function of the RLC layer is to guarantee the quality of service (QoS) of each radio bearer (RB) and their corresponding data transmissions. Since the RB service is a service that the second layer of the radio protocol provides to higher layers, the entire second layer affects the QoS. In particular, the RLC layer has significant influence on the QoS.
The RLC provides an independent RLC entity for each RB in order to guarantee the particular QoS of the RB. Three RLC modes are provided to support various types of QoS; a transparent mode (TM), an unacknowledged mode (UM), and an acknowledged mode (AM). Since the three RLC modes (TM, UM, AM) support different QoS requirements, there are differences in their operation and the specific functions performed by each. The particular RLC for each mode is referred to as TM RLC, UM RLC, and AM RLC.
In the transparent mode (TM), a TM RLC adds no protocol overhead to the RLC SDU that is transferred from a higher (upper) layer such that the TM RLC lets the SDU pass “transparently.” Because data processing time at the TM RLC is short, real-time circuit data transmissions, such as voice and streaming data in the circuit service domain (CS domain), are handled in the user plane. Because there is no protocol overhead within the TM RLC, uplink transmission of RRC messages from an unspecified terminal 50 and downlink transmission of RRC messages that are broadcast to all terminals (UE) 50 within a cell are handled in the control plane,.
Unlike the transparent mode, protocol overhead is added at the corresponding RLC in a non-transparent mode. Non-transparent modes are divided into an unacknowledged mode (UM) and an acknowledged mode (AM). Unacknowledged mode provides no reception acknowledgement for the transferred data, while acknowledged mode provides acknowledgement for the transferred data.
In unacknowledged mode, a UM RLC adds a PDU header including a sequence number (SN) to each PDU that is transferred, thereby allowing the receiving side to identify which PDUs were lost during transmission. The user plane handles broadcast/multicast data transmissions or real-time packet data transmissions, such as voice (e.g., VoIP) and streaming data in the packet service domain (PS domain). The control plane handles transmission of those RRC messages, among all RRC messages delivered to a specific terminal 50 or terminal group within a cell region, that need no acknowledgement response.
As in UM, a PDU header including SN is added to construct a PDU in acknowledged mode. However, unlike UM, a receiving side provides reception acknowledgement of the PDU sent from a transmitting side. In AM, the receiving side provides acknowledgement in order to request re-transmission of any PDUs that have not been properly received. This function of re-transmission is the distinguishing characteristic of an AM RLC. The object of an AM RLC is to guarantee error-free data transfers through re-transmissions. To achieve error-free data transfers, the user plane handles transmission of non-real-time packet data, such as TC/IP in the PS domain, and the control plane handles transmission of those RRC messages, among all the RRC messages transmitted to a specific terminal 50, that require acknowledgement.
When data is received from a peer (i.e., another party) through a wireless section, the physical layer performs a CRC (Cyclic Redundancy Code) check on data blocks to determine whether there is an error in each data block. If an error is detected, the physical layer transfers the CRC error information together with a corresponding data block to the MAC layer.
Upon receiving a MAC PDU together with the CRC error information from the physical layer, the MAC layer determines that the corresponding PDU is an erroneous PDU and discards the corresponding MAC PDU. If there is no CRC error information on the MAC PDU, the MAC layer transfers the MAC PDU to the RLC layer as soon as it is received.
Since data with a CRC error is discarded in the MAC layer, when RLC PDUs are transferred from the MAC layer, the RLC layer considers them as normal PDUs and processes the PDUs according to a normal PDU processing procedure.
The above-described data processing procedure follows initial standards. Data processing procedures of the MAC layer and the RLC layer have been modified to support an adaptive multi rate (AMR) codec. An AMR codec is a voice communication (speech) codec of the UMTS standardized by ETSI that applies a bit rate allocation between a voice and a channel coding to optimize speech quality in various wireless channel states. In an AMR codec, the received data is used even if the data has an error. If the received data is usable by the AMR codec, but is discarded only because it has a CRC error, wired/wireless resources are wasted. Accordingly, in order to effectively support the AMR codec, operations of the MAC layer and the RLC layer are modified.
If the MAC PDU transferred from the physical layer contains a CRC error, the MAC layer transfers the corresponding PDU to the RLC layer. When the MAC layer transfers the PDU containing a CRC error to the RLC layer, it informs the RLC layer of the existence of the CRC error so that the RLC layer can suitably process the corresponding PDU. However, this process indicates only that there is an error in the PDU and fails to indicate which part of the PDU is erroneous.
If a received MAC PDU containing a CRC error includes a header, the MAC layer cannot rely on the header of the received MAC PDU because it may be erroneous. Because the header may be erroneous, the MAC layer cannot check whether the MAC PDU has reached the intended destination (or a target UE 50) nor determine through which logical channel to the RLC layer it is to transfer the MAC SDU included in the MAC PDU. Therefore, the MAC layer discards the corresponding MAC PDU.
If the RLC layer is in the TM state and a PDU received from the MAC layer contains a CRC error, the RLC layer operates according to a pre-set value of a variable (for example, error handling scheme) for processing data with errors, referred to as a “delivery of erroneous SDUs.” The delivery of erroneous SDUs is not set in every TM RLC, but rather is set only when a logical channel connected to the TM RLC is a dedicated traffic channel (DTCH).
The delivery of erroneous SDUs is set for a TM RLC using the DTCH and has three possible pre-set values; no, yes, and no detect. The pre-set values of delivery of erroneous SDUs are set by the RRC at an initial stage of setting a RB and the RRC transfers the information to the MAC layer. The RLC layer processes the error-containing PDU according to a value set for the delivery of erroneous SDUs.
If the delivery of erroneous SDUs is set as “no,” the TM RLC checks the CRC error information transferred together with the PDU from the MAC layer. If the corresponding PDU is contains an error, the TM RLC discards the corresponding PDU immediately.
If the delivery of erroneous SDUs is set as “yes,” the TM RLC checks the CRC error information transferred together with the PDU from the MAC layer. If the corresponding PDU contains an error, the TM RLC informs an upper layer that the PDU contains an error when transmitting the PDU to the upper layer.
If the delivery of erroneous SDUs is set as “no detect,” the TM RLC does not check the CRC error information which has been received together with the PDU from the MAC layer and processes the PDU containing the error as a normal PDU and transfers it to the upper layer.
FIG. 4 is a flow chart of a related art data processing method 200 of the MAC layer.
When the MAC PDU is transferred from a lower layer (step S210), the MAC layer checks whether there is a CRC error in the received MAC PDU (step S220).
If the received MAC PDU does not have an error, the MAC layer processes the MAC PDU according to a normal processing procedure (step S230). If, however, there is an error in the MAC PDU, the MAC layer checks whether there is a MAC header in the received MAC PDU (step S240).
If there is no MAC header in the received MAC PDU, the MAC layer processes the MAC PDU according to the normal processing procedure (step S230). If there is a MAC header in the MAC PDU, the MAC layer discards the MAC PDU (step S250).
FIG. 5 is a flow chart of a related art data processing method 300 of the RLC layer.
When an RLC PDU is transferred from the MAC layer (step S310), the RLC layer checks whether a variable (delivery of erroneous SDUs) for processing error data has been set (step S320).
If the variable has been set, the RLC layer processes a received RLC PDU according to a set error data processing procedure (step S340). If the variable has not been set, the RLC layer processes the received RLC PDU according to a normal processing procedure (step S330).
When the MAC layer and the RLC layer process the PDU in the above-described manner, the MAC layer transfers a corresponding MAC PDU to the RLC layer even if there is an error in the MAC PDU received from the physical layer as long as there is no MAC header in the MAC PDU. If there is no header in the MAC PDU, the transport channel and the logical channel are mapped in a 1:1 ratio.
For example, there are various channel combinations such DTCH-DCH, DCCH-DCH, PCCH-PCH and BCCH-BCH. Among them, only the DTCH-DCH combination is related to the AMR codec. The variable (delivery of erroneous SDUs) is set and the AMR codec uses data with a CRC error only when the RLC layer is in the TM state and data transmission is made through the DTCH-DCH channel combination.
Though not related to the AMR codec, a MAC PDU containing an error can be transferred to the RLC layer when the RLC layer is in the TM state and data transmission is made through the DCCH-DCH, PCCH-PCH or BCCH-BCH channel combination. Furthermore, a MAC PDU containing an error can be transferred to the RLC layer when the RLC layer is in an AM state or in an UM state and data transmission is made through the DTCH-DCH or DCCH-DCH channel combination. In these situations, because the RLC layer is not related to the AMR codec, the variable (delivery of erroneous SDUs) is not set and the RLC layer handles the data containing a CRC error as normal data and processes it. When the RLC layer handles the data containing a CRC error (i.e., CRC error data) as normal data, problems may arise.
When the RLC layer is in the TM state, the data transferred through the DCCH, PCCH and BCCH is the data that the RRC layer uses to manage radio resources. If the TM RLC transfers CRC error data transferred through such channels to the RRC layer, the TM RLC operates properly. However, the CRC error data transferred to the RRC layer may cause the RRC layer to malfunction or cause a communication error if the RRC layer uses an incorrect variable.
Furthermore, when the RLC layer is in the AM state or in the UM state, the existence of an RLC header may cause problems in the RLC layer. The AM RLC or UM RLC codes data using the SN included in the header and updates its own security environment set information. If there is an error in the SN, coding cannot be performed properly and synchronization of the security environment set information between the terminal 50 and the UTRAN 100 cannot be properly achieved. Restoration of coded data transmitted thereafter would not be possible, leading to communication errors.
Moreover, the PDU header of the AM RLC or UM RLC has information regarding the boundary surfaces (regions) of the SDU included in the PDU. If the CRC error data is related to the SDU boundary surface information, the RLC layer cannot reconstruct the RLC SDU to its original form and serious communication errors may occur.